Generally, a data processing device operates to execute program instructions to perform various data processing tasks. In order to execute program instructions more efficiently, some data processing devices employ techniques, such as out-of-order execution and speculative execution, that require preservation of processor state data at designated checkpoints. In some data processing devices, the processor state is preserved by copying, at a checkpoint, a device register file to memory. However, this can require an undesirably large amount of memory.